package com.example.kt_base.s5

//TODO 86.Kotlin语言的智能类型转换

open class Person3(private val name:String){
    fun showName()="父类的姓名是【$name】"

    //Kt所有的函数，默认是final修饰的，不能被继承，和Java相反
    open fun myPrintln()= println(showName())

    fun methodPerson()= println("我是父类的方法")
}

class Student3(private val subName:String):Person3(subName){
    fun showName2()="子类的姓名是【$subName】"
    override fun myPrintln()= println(showName2())
    fun methodStudent()= println("我是子类的方法")
}

fun main() {
    val p:Person3=Student3("李四")

    if (p is Student3){
        p.methodStudent()  //会根据is 自动明白
    }

}
